From 4c83c4918aac0b3c96fbd4f5dac91b2a6e63f59b Mon Sep 17 00:00:00 2001 From: Emmanuel Ackaouy Date: Thu, 21 Sep 2006 14:10:56 +0100 Subject: [PATCH] This patch adds value checking of sched-credit xm options. Signed-off-by: Masaki Kanno --- tools/python/xen/xend/XendDomain.py | 12 +++++++++++- tools/python/xen/xm/main.py | 5 ----- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/tools/python/xen/xend/XendDomain.py b/tools/python/xen/xend/XendDomain.py index 94fadcf84d..b434cb1186 100644 --- a/tools/python/xen/xend/XendDomain.py +++ b/tools/python/xen/xend/XendDomain.py @@ -560,13 +560,23 @@ class XendDomain: except Exception, ex: raise XendError(str(ex)) - def domain_sched_credit_set(self, domid, weight, cap): + def domain_sched_credit_set(self, domid, weight = None, cap = None): """Set credit scheduler parameters for a domain. """ dominfo = self.domain_lookup_by_name_or_id_nr(domid) if not dominfo: raise XendInvalidDomain(str(domid)) try: + if weight is None: + weight = int(0) + elif weight < 1 or weight > 65535: + raise XendError("weight is out of range") + + if cap is None: + cap = int(~0) + elif cap < 0 or cap > dominfo.getVCpuCount() * 100: + raise XendError("cap is out of range") + return xc.sched_credit_domain_set(dominfo.getDomid(), weight, cap) except Exception, ex: raise XendError(str(ex)) diff --git a/tools/python/xen/xm/main.py b/tools/python/xen/xm/main.py index aafdf2de34..0beb00e6e2 100644 --- a/tools/python/xen/xm/main.py +++ b/tools/python/xen/xm/main.py @@ -822,11 +822,6 @@ def xm_sched_credit(args): if weight is None and cap is None: print server.xend.domain.sched_credit_get(domain) else: - if weight is None: - weight = int(0) - if cap is None: - cap = int(~0) - err = server.xend.domain.sched_credit_set(domain, weight, cap) if err != 0: print err -- 2.30.2